package com.gitee.qdbp.general.marketing.api.activity.model;

import com.gitee.qdbp.base.annotation.DataIsolation;
import com.gitee.qdbp.base.annotation.OperateTraces;

/**
 * 活动主更新类
 *
 * @author zhh
 * @version 181114
 */
@OperateTraces(target = "where")
@DataIsolation(enable = false)
public class ActivityCoreUpdate extends ActivityCoreBean {

    /** 版本序列号 **/
    private static final long serialVersionUID = 1L;

    /** 活动名称是否更新为空值 **/
    private Boolean activityNameToNull;

    /** 活动描述是否更新为空值 **/
    private Boolean activityIntroToNull;

    /** 生效时间是否更新为空值 **/
    private Boolean enableTimeToNull;
    /** 生效时间是否更新为数据库当前时间 **/
    private Boolean enableTimeToCurrent;
    /** 生效时间的增加值(单位:秒) **/
    private Long enableTimeAdd;

    /** 失效时间是否更新为空值 **/
    private Boolean disableTimeToNull;
    /** 失效时间是否更新为数据库当前时间 **/
    private Boolean disableTimeToCurrent;
    /** 失效时间的增加值(单位:秒) **/
    private Long disableTimeAdd;

    /** 每人次数限制是否更新为空值 **/
    private Boolean frequencyLimitationToNull;
    /** 每人次数限制的增加值 **/
    private Integer frequencyLimitationAdd;

    /** 选项是否更新为空值 **/
    private Boolean optionsToNull;

    /** 活动状态(1.未开始|2.进行中|3.已暂停|4.已结束)是否更新为空值 **/
    private Boolean activityStateToNull;

    /** 更新操作的条件 **/
    private ActivityCoreWhere where;

    /** 判断活动名称是否更新为空值 **/
    public Boolean isActivityNameToNull() {
        return activityNameToNull;
    }

    /**
     * 设置活动名称是否更新为空值
     *
     * @param activityNameToNull 活动名称是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setActivityNameToNull(Boolean activityNameToNull) {
        this.activityNameToNull = activityNameToNull;
    }

    /** 判断活动描述是否更新为空值 **/
    public Boolean isActivityIntroToNull() {
        return activityIntroToNull;
    }

    /** 设置活动描述是否更新为空值 **/
    public void setActivityIntroToNull(Boolean activityIntroToNull) {
        this.activityIntroToNull = activityIntroToNull;
    }

    /** 判断生效时间是否更新为空值 **/
    public Boolean isEnableTimeToNull() {
        return enableTimeToNull;
    }

    /**
     * 设置生效时间是否更新为空值
     *
     * @param enableTimeToNull 生效时间是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setEnableTimeToNull(Boolean enableTimeToNull) {
        this.enableTimeToNull = enableTimeToNull;
    }

    /** 判断生效时间是否更新为数据库当前时间 **/
    public Boolean isEnableTimeToCurrent() {
        return enableTimeToCurrent;
    }

    /** 设置生效时间是否更新为数据库当前时间 **/
    public void setEnableTimeToCurrent(Boolean enableTimeToCurrent) {
        this.enableTimeToCurrent = enableTimeToCurrent;
    }

    /** 获取生效时间的增加值(单位:秒) **/
    public Long getEnableTimeAdd() {
        return enableTimeAdd;
    }

    /** 设置生效时间的增加值(单位:秒) **/
    public void setEnableTimeAdd(Long enableTimeAdd) {
        this.enableTimeAdd = enableTimeAdd;
    }

    /** 判断失效时间是否更新为空值 **/
    public Boolean isDisableTimeToNull() {
        return disableTimeToNull;
    }

    /**
     * 设置失效时间是否更新为空值
     *
     * @param disableTimeToNull 失效时间是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setDisableTimeToNull(Boolean disableTimeToNull) {
        this.disableTimeToNull = disableTimeToNull;
    }

    /** 判断失效时间是否更新为数据库当前时间 **/
    public Boolean isDisableTimeToCurrent() {
        return disableTimeToCurrent;
    }

    /** 设置失效时间是否更新为数据库当前时间 **/
    public void setDisableTimeToCurrent(Boolean disableTimeToCurrent) {
        this.disableTimeToCurrent = disableTimeToCurrent;
    }

    /** 获取失效时间的增加值(单位:秒) **/
    public Long getDisableTimeAdd() {
        return disableTimeAdd;
    }

    /** 设置失效时间的增加值(单位:秒) **/
    public void setDisableTimeAdd(Long disableTimeAdd) {
        this.disableTimeAdd = disableTimeAdd;
    }

    /** 判断每人次数限制是否更新为空值 **/
    public Boolean isFrequencyLimitationToNull() {
        return frequencyLimitationToNull;
    }

    /** 设置每人次数限制是否更新为空值 **/
    public void setFrequencyLimitationToNull(Boolean frequencyLimitationToNull) {
        this.frequencyLimitationToNull = frequencyLimitationToNull;
    }

    /** 获取每人次数限制的增加值 **/
    public Integer getFrequencyLimitationAdd() {
        return frequencyLimitationAdd;
    }

    /** 设置每人次数限制的增加值 **/
    public void setFrequencyLimitationAdd(Integer frequencyLimitationAdd) {
        this.frequencyLimitationAdd = frequencyLimitationAdd;
    }

    /** 判断选项是否更新为空值 **/
    public Boolean isOptionsToNull() {
        return optionsToNull;
    }

    /** 设置选项是否更新为空值 **/
    public void setOptionsToNull(Boolean optionsToNull) {
        this.optionsToNull = optionsToNull;
    }

    /** 判断活动状态(1.未开始|2.进行中|3.已暂停|4.已结束)是否更新为空值 **/
    public Boolean isActivityStateToNull() {
        return activityStateToNull;
    }

    /**
     * 设置活动状态(1.未开始|2.进行中|3.已暂停|4.已结束)是否更新为空值
     *
     * @param activityStateToNull 活动状态(1.未开始|2.进行中|3.已暂停|4.已结束)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setActivityStateToNull(Boolean activityStateToNull) {
        this.activityStateToNull = activityStateToNull;
    }

    /** 获取更新操作的条件 **/
    public ActivityCoreWhere getWhere() {
        return where;
    }

    /** 获取更新操作的条件, force=是否强制返回非空条件 **/
    public ActivityCoreWhere getWhere(boolean force) {
        if (where == null && force) {
            where = new ActivityCoreWhere();
        }
        return where;
    }

    /** 设置更新操作的条件 **/
    public void setWhere(ActivityCoreWhere where) {
        this.where = where;
    }
}